package controller;

/**
 *
 * @author Reza Ayadi Panah
 */


public class UIC {
    
    private StateC state;           //kommunikation melem UIC og StateC  //tYPEN oBJECT
    
    
    
    
    /**
     * Start the state machine
     */
    public UIC(){           //Constructor
        StateC.start(this);             //Nogle gange kan et objekt have brug for at referere til sig selv. Det gøres med nøgleordet this, der ligner (og bruges som) en variabel
    }
    
        /**
     * setState
     */
    
    protected void setState(StateC newState){      //
        state = newState;
    }
    
    // OverLoading  is, two methods have the same name but different parameter lists within one class.
    
    /**
     * Handle Event hvis eventen er String
     * String Event
     */
    public void handleEvent(String event){         
        state.handle(event, 0);
    }
    
    
    /**
     * Handle Event hvis eventen er Tal
     * int som data
     */
    
    public void handleEvent(int data){              
        state.handle("Data", data);
    }
   
}
